1. Field of the Invention
This invention relates to ways of automatically or semi-automatically negotiating on quality-of-service (QoS) parameters for customer connections to a cell-based communication network. The invention is particularly appropriate for use in asynchronous transfer mode (ATM) networks.
2. Description of the Problem
High speed, digital communication networks have become critical for transporting information in our modern society. To meet this need, ATM has evolved into the high bandwidth, cell-based digital communication protocol of choice. ATM offers an advantageous transport structure for digital communications by using a high bandwidth, multiplexing scheme for the transmission of messages. ATM systems communicate information using fixed-size cells of relatively short length. U.S. Pat. No. 5,867,499, issued Feb. 2, 1999, provides some discussion of the format of ATM cells, and the workings of an ATM network and is incorporated herein by reference.
With the ever-increasing demand for bandwidth, the ability to provide different levels of quality of service (QoS) is and will continue to be critical in the design of new ATM products. QoS can essentially be equated to the amount of bandwidth provided and/or permitted for a given connection. This bandwidth is measured by the number of 53 byte ATM cells flowing through a given connection or group of connections per second. The level of QoS (or bandwidth) provided to a specific customer or client is determined by a contract that is established between the service provider and the client. These contracts typically specify various cell rate parameters that will be guaranteed for the duration of a client""s connection to the network. If a client exceeds the parameters of its contract, its ATM cells may be discarded, thereby degrading the performance of its connection.
For ATM, QoS categories are defined by well-known standards. For example, see the book, xe2x80x9cATM User Network Interface (UNI) Specification Version 3.1xe2x80x9d by the ATM Forum, published by Prentice Hall PTR, June, 1995, which is incorporated herein by reference. There are currently five QoS categories defined by the ATM forum as discussed in the UNI 3.1 Specification. They are:
Constant Bit Rate (CBR)xe2x80x94Used by connections that request a static amount of bandwidth that is continuously available during the connection lifetime. CBR service is intended to support real-time applications requiring tightly constrained delay variation (e.g., voice, video, circuit emulation) and is characterized by a Peak Cell Rate (PCR) value.
Real-Time Variable Bit Rate (rt-VBR)xe2x80x94Used for real-time applications requiring tightly constrained delay and delay variation (e.g., voice, video). Unlike CBR, these types of connections are expected to transmit at a rate which varies with time or is xe2x80x9cburstyxe2x80x9d. This service category is characterized in terms of a Peak Cell Rate (PCR), Sustainable Cell Rate (SCR), and Maximum Burst Size (MBS) and a maximum Cell Transfer Delay (CTD).
Non-Real-Time Variable Bit Rate (nrt-VBR)xe2x80x94Used for non-real-time applications which have bursty traffic characteristics. This service category is characterized in the same manner as the rt-VBR category but without regard for CTD.
Unspecific Bit Rate (UBR)xe2x80x94This service category is intended for non-real-time applications which do not require tightly constrained delay and delay variation such as file transfer and email. UBR does not specify traffic related service guarantees.
Available Bit Rate (ABR)xe2x80x94ABR is an ATM layer service category for which the limiting ATM layer transfer characteristics provided by the network may change subsequent to connection establishment. A flow control mechanism is specified which supports several types of feedback to control the source through specific control cells called Resource Management (RM) cells. It does not bound the delay or delay variation of cells on a given connection and is not intended to support real-time applications. When an ABR connection is established, the end-system specifies a maximum required bandwidth (PCR) and a minimum usable bandwidth or minimum cell rate (MCR).
Devices exist that can be used to monitor some or all of the traffic parameters discussed above. Typically, the devices store statistical parameter information for a given connection. The information can then be retrieved later and used by the service provider to provide customer assistance, or to make appropriate changes to the network. However, every time a user connects to an ATM network, the user must specify both the service category and the traffic parameters. The network is then examined to determine its available bandwidth and an access device either grants or denies access accordingly. The service category is relatively easy for users to understand, and often remains the same over many connections. However, the average user has little understanding of parameters such as PCR, Cell Delay Variation Tolerance (CDVT), SCR, MBS or MCR, and even those users who do understand these measurements are unlikely to know what values to specify for a given access request. There exists a serious need for a way to provide access to cell rate information for a user or group of users, so that each user can either manually or automatically make an informed decision on QoS parameters when setting up a network connection. If users can make the proper decisions when requesting bandwidth, enough bandwidth will be available for applications without the users having to request too much. Therefore, each customer only pays for what it needs and the service provider has more bandwidth available for additionally customers.
The present invention meets the above need by maintaining and accessing a cell rate profile, which includes statistical quality-of-service (QoS) parameter information for each user or group of users of a cell-based communication network, such as an ATM network. The statistical QoS parameter information includes historical records for each QoS parameter for a given category of service over time. Ideally, information is available for all service categories that a particular user or group of users might need. In the preferred embodiment, the statistical QoS parameter information is accessed by a customer device such as a router, and is used to manage access under the network""s connection admission control (CAC) and traffic policing policies. In this embodiment, the router automatically specifies the proper parameters so that the allocated bandwidth is optimized for each connection. In an alternative embodiment, statistical information for one or more QoS parameters is provided graphically to a user so that the user can make an informed decision when requesting a connection.
I use the term xe2x80x9cnetwork connectionxe2x80x9d to generically refer to any customer data connection. A specific xe2x80x9cvirtual connectionxe2x80x9d through the network carries the information from a user, and forms the most important part of the network connection. The virtual connection is specified by a virtual path identifier (VPI) and a virtual channel identifier (VCI). According to the preferred embodiment of the present invention, a method is implemented which involves accessing the cell rate profile that applies to a given, requested virtual connection for a network connection. After checking the current time, the value of a selected QoS parameter, or selected QoS parameters corresponding the current time is or are determined by accessing information from the cell rate profile. If the current value for the QoS parameter is the same as the selected value for the QoS parameter, the virtual connection (VC) is opened or maintained using the current value. However, if the selected parameter value is different than the current parameter value, a new virtual connection for the network connection is opened using the selected value for the current time, and traffic is routed or rerouted to the new connection.
The above method is executed whenever a new connection is requested. However, it is also desirable to execute the method at regular time intervals, to check the needs of the existing connections. If a parameter value has changed for an existing network connection, the connection is moved to a new virtual connection with the appropriate parameter value and the old virtual connection is terminated. In this way, the parameters for a given network connection are continuously adjusted for increases and decreases in traffic. If there has been no traffic since the last check, the virtual connection for the specific user is completely terminated. It is also desirable to maintain a set of parameter values when the network is just starting up and no connections have been made yet. These initialization values can be used whenever the statistical value of a QoS parameter for a specific time in question is equal to zero, but a connection is needed for which the value cannot be zero.
The method described above is preferably executed on a router or similar device which manages a customer""s connections to the network. Such a device typically includes a processor card and a plurality of input/output adapters for connection to various networks. The router also includes computer program code to control its operation. The computer program code together with the hardware provides the means to perform the method of the invention. The computer program code can be stored independently from the device or transported over a network for shipping, backup, or archival purposes. If the code is stored, a storage media is used. The media can be magnetic such as diskette, tape or fixed disk, or optical such as a CD-ROM.
In the preferred embodiment, the invention is used in a cell-based communication network including an edge device with a network interface. The edge device is also connected to a router. The edge device is controlled by a central processing unit (CPU) and includes, or has associated with it, hardware for maintaining the cell rate profiles. The router negotiates connections using one or more QoS parameter values which are stored in the cell rate profile. The router preferably downloads the values and negotiates connections automatically using the previously described method. Alternatively, the router can download the QoS parameter information into a user workstation. Software and hardware in the workstation enables the workstation to provide an easy-to-read graphical display for the user so that the user can make parameter decisions. Yet another alternative is to maintain a web site connected to the router and/or the edge device. The web site can receive the parameter information and, provide the parameter information to the router, format the QoS parameter values for graphical display, or both. If a web site is used, the user can display the data on his or her terminal using readily available web browsing software.